package Collection;

import jdk.internal.org.objectweb.asm.tree.IntInsnNode;

import java.util.ArrayList;
import java.util.Iterator;

public class TestList {
    public static void main(String[] args) {
        //1-创建List集合，ArrayList
        ArrayList aList=new ArrayList();
        //2-添加
        aList.add(120);
        aList.add(200);
        aList.add("abcd");
        aList.add(12.5);
        aList.add(new Object());//对象放集合
        //3-获取集合的数据
        aList.get(0);//参数，集合数据的位置==数组的下标
        System.out.println(aList.get(0));
        System.out.println(aList.get(1));
        System.out.println(aList.get(2));
        System.out.println(aList.get(3));
        System.out.println(aList.get(4));
        //System.out.println(aList.get(5));//下标越界--数组下标越界，语法不检测，运行异常
        //遍历操作。集合的遍历，将集合中的所有元素访问一遍，每个元素只访问一次。点名一样
        //for
        System.out.println("-----for------");
        //aList.size()集合的长度，即集合中元素个数
        for (int i=0;i<aList.size();i++){
            System.out.println(aList.get(i));
            //修改元素
        }
        //for-each
        //for(对象类型 对象名：集合){}
        //每次循环，从集合中取一个元素，放对象中。直到集合中所有元素都被访问到为止。

        System.out.println("-----for-each-----");
        for(Object obj:aList){
            System.out.println(obj);
            //修改obj---不影响集合
        }
        //迭代器
        //相当于找一个遍历的助手。
        //【1】创建一个迭代器对象，不能new，用集合方法创建
        System.out.println("-----迭代器-------");
        Iterator iterator=aList.iterator();
        //[2]使用iterator对象，遍历
        while(iterator.hasNext()){
            Object obj=iterator.next();//取出迭代器的数据
            System.out.println(obj);
        }






    }
}
